package org.jctc.els.modules.biz.entity.pro;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 评审明细表;
 * @author : http://www.chiner.pro
 * @date : 2022-6-21
 */
@ApiModel(value = "评审明细表",description = "")
@TableName("els_project_review_detailed")
@Data
public class ProjectReviewDetailed implements Serializable,Cloneable{
    /** id */
    @TableId
    @ApiModelProperty(name = "id",notes = "")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id ;
    /** 项目ID */
    @ApiModelProperty(name = "项目ID",notes = "")
    private Long projectId ;

    @ApiModelProperty(name = "评审ID",notes = "")
    private Long projectReviewId;
    /** 指标维度名称 */
    @ApiModelProperty(name = "指标维度名称",notes = "")
    private String name ;
    /** 指标维度的分数 */
    @ApiModelProperty(name = "指标维度的分数",notes = "")
    private Double score ;
    /** 指标维度的层级 */
    @ApiModelProperty(name = "指标维度的层级",notes = "")
    private Integer level ;
    /** 父级指标维度 */
    @ApiModelProperty(name = "父级指标维度",notes = "")
    private Long parentId ;
    /** 指标维度层级的全路径 */
    @ApiModelProperty(name = "指标维度层级的全路径",notes = "")
    private String parentIdPath ;
    /** 当前指标维度是否可进行评分;0=>不可评分  1=>可评分 */
    @ApiModelProperty(name = "当前指标维度是否可进行评分",notes = "0=>不可评分  1=>可评分")
    private Integer canScored ;
    /** 评分方式;0=>固定分数  1=>下拉选择  2=>自定义分数 */
    @ApiModelProperty(name = "评分方式",notes = "0=>固定分数  1=>下拉选择  2=>自定义分数")
    private Integer scoringMethod ;
    /** 是否有选项;0=>无选项  1=>有选项 */
    @ApiModelProperty(name = "是否有选项",notes = "0=>无选项  1=>有选项")
    private Integer canOptions ;
    /** 选项ID的集合 */
    @ApiModelProperty(name = "选项ID的集合",notes = "")
    private String optionIds ;
    @ApiModelProperty(name = "所选选项ID的集合",notes = "")
    private String answer ;
    /** 有没有否决项（一票否决整个项目）;0=>无否决项  1=>有否决项 */
    @ApiModelProperty(name = "有没有否决项（一票否决整个项目）",notes = "0=>无否决项  1=>有否决项")
    private Integer canRejectOption ;
    @ApiModelProperty(name = "是否选择了否决项；0=>未选择 1=>已选择")
    private Boolean isRejectOption ;
    /** 备注 */
    @ApiModelProperty(name = "备注",notes = "")
    private String remark ;
    /** 状态 */
    @ApiModelProperty(name = "状态",notes = "")
    private Integer status ;
    /** 逻辑删除 */
    @ApiModelProperty(name = "逻辑删除",notes = "")
    private Integer isDeleted ;
    /** 乐观锁 */
    @ApiModelProperty(name = "乐观锁",notes = "")
    private Long revision ;
    /** 创建人 */
    @ApiModelProperty(name = "创建人",notes = "")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long createdBy ;
    /** 创建时间 */
    @ApiModelProperty(name = "创建时间",notes = "")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime ;
    /** 更新人 */
    @ApiModelProperty(name = "更新人",notes = "")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long updatedBy ;
    /** 更新时间 */
    @ApiModelProperty(name = "更新时间",notes = "")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedTime ;
    @ApiModelProperty(name = "题目类型",notes = "")
    private Integer questionType ;
}